import os
import time as t
from colorama import init
 
init(autoreset=True)

# 定义全局变量
h = 0
min = 0
wday = 0


def get_time():  # 获取当前时间日期信息
    global h, min, wday
    tm = t.localtime()
    h = tm.tm_hour
    min = tm.tm_min
    wday = tm.tm_wday
    if wday == 0:
        wday = 7


def check_time():
    if h == 22 and min <= 4 and wday <= 4:
        return 1
    if h == 22 and min <= 4 and wday == 7:
        return 1
    if h == 18 and min <= 4 and wday == 5:
        return 1
    #if True:return 1
    return 0


def shutdown():
    print("\033[0;33;40m  欢迎使用seewo安全关机脚本！\033[0m")
    t.sleep(1.8)
    print()
    
    os.system("shutdown -s -t 15")

    for i in range (15):
        print("\033[0;32;40m经自动检测，系统符合关机条件，已设置15秒后自动关机！\n\
由于脚本接口限制，可能还有部分文件未保存没被检测到，建议再次检查文件保存情况！\033[0m")
        print("\033[0;32;40m  正在关机中\033[0m"+"◽◽"*i)
        t.sleep(1)
        cls()
    print("\033[0;32;40m  关机成功！\033[0m"+"◽◽"*i)
    return 0


def not_shutdown():
    print("\033[0;33;40m  欢迎使用seewo安全关机脚本！\033[0m")
    t.sleep(1.8)
    print()

    print("\033[0;34;40m正在检测 文件保存情况 ...\033[0m")
    t.sleep(3.2)
    print("\033[0;32;40m检测结果：通过！没有检测到已修改但未保存的文件。（可能有部分文件检测不到，本脚本不能作保证，请以实际情况为准！）\033[0m")
    t.sleep(1)

    print("\033[0;34;40m正在检测 硬盘使用情况 ...\033[0m")
    t.sleep(3.2)
    print("\033[0;32;40m检测结果：通过！没有检测到正在使用硬盘（U盘）的进程。（可能有部分软件进程检测不到，本脚本不能作保证，请以实际情况为准！）\033[0m")
    t.sleep(1)

    print("\033[0;34;40m正在检测 其他后台进程情况 ...\033[0m")
    t.sleep(3.2)
    print("\033[0;33;40m检测结果：有后台播放音频进程（可能是自动化放学音乐），但是依旧满足关机条件。\033[0m")
    t.sleep(1)

    print("\033[0;34;40m正在检测 系统软件配置情况 ...\033[0m")
    t.sleep(3.2)
    print("\033[0;31;40m检测结果：不通过！检测到系统正在进行自动软件配置（或系统升级包下载），切勿关机，否则系统可能出现无法预测的故障。请耐心等待约3分钟后重试关机（部分情况下，系统配置期间可以正常使用应用）。\033[0m")
    t.sleep(1)

    t.sleep(3)
    a=input("\033[0;33;40m已设置3分钟后自动关机，请按任意键退出安全关机脚本。\033[0m")

    return 0


def cls():#清屏函数
    os.system("cls")
    return 0


def main():
    get_time()
    check_ans = check_time()
    if check_ans == 1:
        not_shutdown()
    elif check_ans == 0:
        shutdown()



if __name__ == "__main__":
    main()
